1. Field of the Invention
The present invention relates to network communications and, more particularly, to the establishment of packet-based real-time media sessions.
2. Description of Related Art
a. Real-Time Media Conferencing
As a general matter, it is known to establish a real-time media conference over a packet-switched network between multiple user stations, each operated by a respective user. A communication server, such as a multipoint conference unit (MCU) for instance, can reside functionally in the network and can operate as a bridging or switching device between the participating stations, to support the conference session.
In practice, a participating station might initiate the conference session by sending to the communication server a session setup message that identifies the other desired participant(s). The server may then seek to connect each of the designated other participants, such as by forwarding the session setup message or sending a new session setup message to each other party. Ultimately, the server would thereby establish a conference leg with each participating station, including the initiating station, and the server would then bridge together the legs so that the users at the stations can confer with each other, exchanging voice, video and/or other media in real-time via the server.
A signaling mechanism such as the well known Session Initiation Protocol (SIP) could be used to initialize the conference and more particularly to set up each conference leg. Further, digitized media could be packetized and carried between each participating station according to a mechanism such as the well known Real-time Transport Protocol (RTP), for instance. The core industry standards for SIP (Internet Engineering Task Force (IETF) Request Comments (RFC) 2543) and RTP (IETF RFC 1889) are hereby incorporated by reference.
Packet based media conferencing can be advantageously employed to provide an “instant connect” service, where a user of one station can readily initiate a real-time media conference with one or more designated target users at other stations. The initiating user may simply select a target user or group and then press an instant connect button on his or her station, and the user's station would responsively signal to a communication server to initiate a conference between the initiating user and the selected user or group. This sort of service is referred to as “instant connect” because it strives to provide a quick connection between two or more users, in contrast to telephone service where a user dials a telephone number of a party and waits for a circuit connection to be established with that party.
An example of an instant connect service is commonly known as “push-to-talk” (PTT). In a PTT system, some or all of the conference stations are likely to be wireless devices such as cellular mobile stations, that are equipped to establish wireless packet-data connectivity and to engage in voice-over-packet (VoP) communication. Alternatively, some or all of the stations could be other sorts of devices, such as multimedia personal computers or Ethernet-telephones, that can establish packet data connectivity and engage in VoP communication through landline connections. Further, each station could be equipped with a PTT button or other mechanism that a user can engage in order to initiate an PTT session or to request the floor during an ongoing session.
In practice, a user of a PTT-equipped mobile station might select a target user or group of users from a contact list or other program menu and engage the PTT button to initiate a conference session with that user or group. In response, the mobile station may then send a session initiation message to the communication server, to set up a conference session in the manner described above for instance, and the user could begin talking with the other users. Further, a similar mechanism could be applied to establish real-time media conferences carrying video or other media as well.
b. Setup Latency
Ideally, a wireless instant-connect system should simulate instant 2-way radio communication. For instance, when a user initiates a PTT session, the user will want to be able to press the PTT button and immediately begin talking to each other party “on the channel.”Unfortunately, however, communications in the wireless environment can result in unacceptable call setup latencies on the order of 6 or even 10 seconds.
In general, this setup latency may arise at the initiating end and/or at the target end(s), because the initiating mobile station and/or target mobile station may need to acquire data connections (radio links and data links) before communication begins. Further, additional delay can arise as the communication server works to set up communication with the endpoints.
At the initiating end, for example, if the mobile station is dormant (having a data link but no radio link), the mobile station may need to request a radio link traffic channel before it can begin communicating with the communication server, and the process of requesting and waiting for a channel assignment can take some time. Further, once the initiating mobile station has acquired a radio link and thus switched from a dormant state to an active state, the mobile station may send an initiation request such as a SIP “INVITE” to the server, and it may then take some time for the server to set up an RTP leg with each participating station. Still further, if the initiating mobile station does not currently have a data-link layer connection when a user seeks to initiate a PTT session, additional delay may result as the mobile station works to establish that connection.
In turn, for each target mobile station, a radio access network may receive a termination request, such as an INVITE message, that is to be delivered to the target mobile station. If the target mobile station is dormant, the radio access network would then page the target station and await a response. This paging process can be a large source of call-setup latency if paging is carried out at only periodic time slots on the paging channel. Further, once a dormant mobile station receives a page, it may then respond to the page by requesting a traffic channel, which could add more delay. Still further, once the terminating mobile station has acquired a traffic channel, it may then need to work with the communication server to establish a conference leg, which could take still more time.
One way to reduce the impact of latency that occurs in setting up a packet-based real-time media session is to have an initiating station buffer an initial media transmission until a link exists to transmit the media further. This buffering process is described in U.S. patent application Ser. No. 10/067,028, filed Feb. 4, 2002, which is hereby incorporated by reference in its entirety.
This solution stems from the fact that setup latency will normally be unnoticeable to a user at a target station, as long as the target station ultimately receives the initial media transmission. For instance, if a user initiates a PTT session and immediately speaks to a target user, but the target user does not begin to receive the voice signal until 5 seconds later, the target user normally would not realize that there was a 5 second delay (since it is the start of the conversation). However, the initiating user would advantageously get the sense that communication is underway.
In particular, a user station can be arranged to begin receiving and buffering media in response to user initiation of a real-time media session. For instance, in a PTT system, a mobile station can be programmed to respond to user actuation of a PTT button by immediately beginning to receive, digitize and store voice spoken by the user. Once the mobile station establishes a conference leg with the communication server or once the session is set up through to one or more target users, the mobile station may then begin transmitting the digitized voice along to the server, for transmission in turn to each target user.
A further problem can arise, however, if an initiating mobile station begins to buffer media in response to user invocation of a real-time media session, and the mobile station then fails to acquire a data connection through which to establish the session and transmit the media. This can occur, for instance, if the mobile station has separate application-layer logic (e.g., a PTT application and SIP application) and lower-layer logic (e.g., logic for establishing physical, data-link and network layer connections).
In particular, when the application-layer logic receives a session initiation request from a user, the application-layer logic might (i) generate a SIP INVITE message and pass it to the lower-layer logic for transmission into the network and (ii) begin buffering the user's voice, with the assumption that a session is being set up. For one reason or another (e.g., network congestion or user-authentication problems), however, the lower-layer logic may be unable to establish a radio link or data link through which to send the INVITE message. Therefore, the mobile station would not successfully set up the expected session and therefore would not transmit the buffered voice into the network.
When this happens, the user will be disappointed to find out that the user's voice (or other media) is not sent to the other session participant(s). Such negative user experience is undesirable.